<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<link rel="stylesheet" type="text/css" href="css/public.css" />
		<link rel="stylesheet" type="text/css" href="css/mescroll.min.css" />
		<script src="js/common.js" type="text/javascript" charset="utf-8"></script>
		<style type="text/css">
			.mescroll {
				position: fixed;
				top: 44px;
				bottom: 0;
				height: auto;
				/*如设置bottom:50px,则需height:auto才能生效*/
			}
			
			ul {
				width: 100%;
			}
			
			ul li {
				width: 100%;
				background: #fff;
				margin-top: 0.17rem;
				border-radius: 0.2rem;
				padding: 0.58rem 0;
			}
			
			ul li span {
				display: inline-block;
				width: 1.56rem;
				font: 12px/34px "";
				margin-left: 0.58rem;
				color: #a8a8a8;
				text-align: justify;
			}
			
			ul li s {
				/*display: inline-block;*/
				font: 12px/34px "";
				color: #101010;
				word-wrap: break-word;
			}
			
			.sub {
				display: block;
				width: 4.75rem;
				height: 0.9rem;
				margin: 0 auto;
				background: #38c0a8;
				color: #f8fbff;
				border: none;
				border-radius: 0.45rem;
				font: 0.3rem/0.9rem "";
				margin-top: 0.25rem;
				outline: none;
			}
			
			.kong {
				width: 100%;
				background: #edecf2;
				height: 0.2rem;
			}
			
			input[type=button],
			input[type=submit],
			input[type=file],
			button {
				cursor: pointer;
				-webkit-appearance: none;
			}
		</style>
	</head>

	<body>
		<div id="mescroll" class="mescroll">
			<!--//id可以改,而"mescroll"的class不能删-->
			<ul id="main">
				<!--//这个div不能删, 可以改成ul或者其他容器标签. //内容...-->
			</ul>
		</div>
	</body>

</html>
<script src="js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/public.js" type="text/javascript" charset="utf-8"></script>
<script src="js/mescroll.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
	var url_ajax = getUrl();
	var userid = getUrlParam('userid');
	var areaid = getUrlParam('areaid');

	var mescroll = new MeScroll("mescroll", { //第一个参数"mescroll"对应上面布局结构div的id (1.3.5版本支持传入dom对象)
		//如果您的下拉刷新是重置列表数据,那么down完全可以不用配置,具体用法参考第一个基础案例
		//解析: down.callback默认调用mescroll.resetUpScroll(),而resetUpScroll会将page.num=1,再触发up.callback

		down: {
			callback: downCallback, //下拉刷新的回调,别写成downCallback(),多了括号就自动执行方法了
			auto: false,
		},
		up: {
			callback: upCallback, //上拉加载的回调
			//以下是一些常用的配置,当然不写也可以的.
			page: {
				num: 0, //当前页 默认0,回调之前会加1; 即callback(page)会从1开始
				size: 5 //每页数据条数,默认10
			},
			htmlLoading: '<p class="upwarp-progress mescroll-rotate"></p><p class="upwarp-tip">拼命加载中...</p>', //上拉加载中的布局，p标签随意
			htmlNodata: '<p class="upwarp-nodata">-- END --</p>',
			noMoreSize: 5, //如果列表已无数据,可设置列表的总数量要大于5才显示无更多数据;
			//			避免列表数据过少(比如只有一条数据),
			//			显示无更多数据会不好看
			//			这就是为什么无更多数据有时候不显示的原因.
			toTop: {
				//回到顶部按钮
				src: "images/mescroll-totop.png", //图片路径,默认null,支持网络图
				offset: 1000 //列表滚动1000px才显示回到顶部按钮	
			},
			empty: {
				//				列表第一页无任何数据时,显示的空提示布局; 需配置warpId才显示
				warpId: "xxid", //父布局的id (1.3.5版本支持传入dom元素)
				icon: "images/mescroll-empty.png", //图标,默认null,支持网络图
				tip: "暂无相关数据~" //提示
			},
			lazyLoad: {
				use: true, // 是否开启懒加载,默认false
				attr: 'imgurl' // 标签中网络图的属性名 : <img imgurl='网络图  src='占位图''/>
			}
		}
	});

	//下拉刷新的回调
	function downCallback() {
		//		debugger
		var data = JSON.stringify({
			pagenumber: 1,
			pagesize: 5,
			userid: userid,
			areaid: areaid
		});
		$.ajax({
			contentType: "application/json; charset=utf-8",
			type: "POST",
			url: url_ajax + "/print/getBillPrintList",
			data: data,
			async: true,
			dataType: "json",
			success: function(msg) {
				console.log(msg);
				if(msg.code == 200) {
					mescroll.endSuccess(); //无参
					console.log(msg.returnString)
					console.log(JSON.parse(msg.returnString));
					var datapp = JSON.parse(msg.returnString);
					var count = msg.count
					$("#ppp").html(msg.count);
					aa(datapp)
				} else {
					alert(msg.disp)
				}
			},
			error: function() {
				alert("获取信息失败");
				mescroll.endErr();
			}
		});
	}

	//上拉加载的回调 page = {num:1, size:10}; num:当前页 默认从1开始, size:每页数据条数,默认10
	function upCallback(page) {
		//		debugger
		var data = JSON.stringify({
			pagenumber: page.num,
			pagesize: page.size,
			userid: userid,
			areaid: areaid
		});
		$.ajax({
			contentType: "application/json; charset=utf-8",
			type: "POST",
			url: url_ajax + "/print/getBillPrintList",
			data: data,
			async: true,
			dataType: "json",
			success: function(msg) {
				console.log(msg);
				if(msg.code == 200) {

					//					mescroll.endErr();
					//mescroll.endByPage(curPageData.length, totalPage);
					console.log(msg.returnString)
					console.log(JSON.parse(msg.returnString));
					var datapp = JSON.parse(msg.returnString);

					var count = msg.count;
					if(count % 5 == 0) {
						count = parseInt(count / 5);
						if(count == 0) {
							count = 1;
						}
					} else {
						count = parseInt(count / 5) + 1;
					}
					mescroll.endByPage(5, parseInt(msg.count / 5))
					//					$("#ppp").html(msg.count);
					aa(datapp)
				} else {
					alert(msg.disp)
				}
			},
			error: function() {
				alert("获取信息失败");
				mescroll.endErr();
			}
		});

		//		$.ajax({
		//			url: 'xxxxxx?num=' + page.num + "&size=" + page.size, //如何修改page.num从0开始 ?
		//			success: function(curPageData) {
		//联网成功的回调,隐藏下拉刷新和上拉加载的状态;
		//mescroll会根据传的参数,自动判断列表如果无任何数据,则提示空,显示empty配置的内容;
		//列表如果无下一页数据,则提示无更多数据,(注意noMoreSize的配置)

		//方法一(推荐): 后台接口有返回列表的总页数 totalPage
		//必传参数(当前页的数据个数, 总页数)
		//mescroll.endByPage(curPageData.length, totalPage);

		//方法二(推荐): 后台接口有返回列表的总数据量 totalSize
		//必传参数(当前页的数据个数, 总数据量)
		//mescroll.endBySize(curPageData.length, totalSize);

		//方法三(推荐): 您有其他方式知道是否有下一页 hasNext
		//必传参数(当前页的数据个数, 是否有下一页true/false)
		//mescroll.endSuccess(curPageData.length, hasNext);

		//方法四 (不推荐),会存在一个小问题:比如列表共有20条数据,每页加载10条,共2页.
		//如果只根据当前页的数据个数判断,则需翻到第三页才会知道无更多数据
		//如果传了hasNext,则翻到第二页即可显示无更多数据.
		//mescroll.endSuccess(curPageData.length);

		//结束下拉刷新的 mescroll.endSuccess()无参.
		//结束上拉加载 curPageData.length必传的原因:
		//				1. 使配置的noMoreSize生效
		//				2. 判断是否有下一页的首要依据: 当传的值小于page.size时, 则一定会认为无更多数据.
		//				比传入的totalPage, totalSize, hasNext具有更高的判断优先级
		//				3. 当传的值等于page.size时, 才会取totalPage, totalSize, hasNext判断是否有下一页
		//				传totalPage, totalSize, hasNext主要目的是避免方法四描述的小问题

		//设置列表数据
		//setListData(curPageData);//自行实现 TODO
		//			},
		//			error: function(e) {
		//				//联网失败的回调,隐藏下拉刷新和上拉加载的状态
		//				mescroll.endErr();
		//			}
		//		});
	}

	function aa(datapp) {
		var html_main = "";
		for(var i = 0; i < datapp.length; i++) {
//			debugger
			var id = 'DI' + datapp[i].billid
			var type = datapp[i].billtype
			
			html_main = html_main+'<li>'+
			'<p><span>单据类型：</span><s>'+datapp[i].costname+'</s></p>'+
			'<p><span>单据性质：</span><s>'+datapp[i].billtypename+'</s></p>'+
			'<p>	<span>单据时间：</span><s>'+datapp[i].billdate+'</s></p>'+
			'<p>	<span>房屋：</span><s>'+datapp[i].areaname + datapp[i].buildname + datapp[i].unitname + datapp[i].rommcode+'</s>	</p>'+
			'<p><span>单据金额：</span><s>'+datapp[i].payamt+'</s></p>'+
			'<input type="button"  onclick="open_az(id,type)" class="sub" value="打印" />'+
			'</li>'+
			'<div class="kong"></div>';
		}
		
		$("#main").append(html_main)
	};

	function open_az(id, type) {
		debugger
		console.log(id)

		console.log(type);
		console.log(arguments[0]);
		billid = arguments[0].substring(2);
		console.log(billid);
		billtype = type;

		//判断操作系统
		var u = navigator.userAgent,
			app = navigator.appVersion;
		var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //g
		var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
		//	           ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端         
		if(isAndroid) {
			//这个是安卓操作系统
			//js调用app方法  getUserDataBayKeys此函数名必须与app方法名一致。	window.Android是调用Android方法。
			window.Android.openScanCode();
		}
		if(isIOS) {　　　　 //这个是ios操作系统
			//			window.webkit.messageHandlers.openScanCode();
			window.webkit.messageHandlers.openScanCode.postMessage(null);
		}

	};

	//app回调过来的函数   函数名必须与app方法名一致。
	function scanCodeResult(data) {
		//				console.log(data);
		//				console.log(JSON.parse(data));
		var dada = JSON.parse(data)
		if(dada.state == 200) {
			var data_pri = {
				printersn: dada.data,
				billid: billid,
				billtype: billtype
			}
			data_pri = JSON.stringify(data_pri);
			ajax_pri_fun(data_pri)
		}
	};

	function ajax_pri_fun(data_pri) {
		$.ajax({
			contentType: "application/json; charset=utf-8",
			type: "POST",
			url: urlr + "/print/printOrder",
			data: data_pri,
			async: true,
			dataType: "json",
			success: function(msg) {
				console.log(msg);
				if(msg.code == 200) {
					alert("打印成功")
				} else {
					alert(msg.disp)
				}
			},
			error: function() {
				alert("获取信息失败");
			}
		});
	};
</script>